package org.fanximall.erp.common.strategy;

/**
 * @author :  william
 * @version :  V1.0  created in 2024/4/22
 * 命令执行器接口
 */
@SuppressWarnings("unused")
public interface AbstractExecuteStrategy<REQUEST,RESPONSE> {

    /**
     * 执行策略标识
     * @return
     */
    String mark();


    /**
     * 执行策略
     * @param requestParam 执行策略参数
     */
    default void execute(REQUEST requestParam){

    }

    /**
     * 执行策略返回结果
     * @param requestParam 执行策略参数
     * @return 执行策略返回结果
     */
    default RESPONSE executeResp(REQUEST requestParam) {
        return null;
    }


}
